#!/bin/bash

# Docker镜像加速配置脚本
echo "🔧 配置Docker镜像加速器..."

# 检查Docker Desktop是否在运行
if ! docker info > /dev/null 2>&1; then
    echo "❌ Docker未运行，请先启动Docker Desktop"
    exit 1
fi

# 配置Docker镜像加速器
DOCKER_CONFIG_DIR="$HOME/.docker"
DAEMON_JSON="$DOCKER_CONFIG_DIR/daemon.json"

# 创建配置目录
mkdir -p "$DOCKER_CONFIG_DIR"

# 备份原配置
if [ -f "$DAEMON_JSON" ]; then
    cp "$DAEMON_JSON" "$DAEMON_JSON.backup.$(date +%Y%m%d_%H%M%S)"
    echo "✅ 已备份原配置文件"
fi

# 创建新的daemon.json配置
cat > "$DAEMON_JSON" << 'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com"
  ],
  "experimental": false,
  "debug": true
}
EOF

echo "✅ Docker镜像加速器配置完成"
echo "📝 配置文件位置: $DAEMON_JSON"

# 提示重启Docker
echo ""
echo "⚠️  请重启Docker Desktop以使配置生效："
echo "   1. 点击Docker Desktop图标"
echo "   2. 选择 'Restart Docker Desktop'"
echo "   3. 等待重启完成后重新运行脚本"
echo ""

# 显示配置内容
echo "📄 当前配置:"
cat "$DAEMON_JSON"
echo ""

read -p "Docker重启完成后，按回车键继续..." -r
echo ""

# 验证Docker是否正常
echo "🔍 验证Docker状态..."
if docker info > /dev/null 2>&1; then
    echo "✅ Docker运行正常"
    
    # 测试镜像拉取
    echo "🧪 测试镜像拉取..."
    if docker pull hello-world:latest > /dev/null 2>&1; then
        echo "✅ 镜像拉取成功，网络问题已解决"
        
        # 清理测试镜像
        docker rmi hello-world:latest > /dev/null 2>&1
        
        echo ""
        echo "🎉 现在可以继续构建项目了！"
        echo "运行以下命令重新开始："
        echo "   ./scripts/setup.sh"
        
    else
        echo "❌ 镜像拉取仍然失败，请检查网络连接"
        exit 1
    fi
else
    echo "❌ Docker未正常运行，请检查Docker Desktop状态"
    exit 1
fi